package com.nd.android.musicboxlibrary.util;

import android.text.TextUtils;
import net.sourceforge.pinyin4j.PinyinHelper;

import java.util.HashMap;
import java.util.Map;

/**
 * 
 * <br>
 * Created 2014年9月11日 下午11:19:56
 * 
 * @version
 * @author wat.ztag
 * 
 * @see
 */
public final class HanyuPinyin {

    /**
     * Creates a new instance of HanyuPinyin. <br>
     * Created 2014年9月11日 下午11:19:59
     */
    private HanyuPinyin() {
    }

    public static Map<String, Character> specialHanzi = new HashMap<String, Character>();

    static {
        specialHanzi.put("给", '过');
    }

    /**
     * 
     * <br>
     * Created 2014年9月11日 下午11:20:02
     * 
     * @param str String
     * @return char
     * @author wat.ztag
     */
    private static char getHanziFirstChar(String str) {
        Character result = specialHanzi.get(str.substring(0, 1));
        if (result != null) {
            return result;
        } else {
            return str.charAt(0);
        }
    }

    /**
     * 
     * <br>
     * Created 2014年9月11日 下午11:19:51
     * 
     * @param str String
     * @return String
     * @author wat.ztag
     */
    public static String getHanyuPinyinKey(String str) {
        String result = "";
        String[] pinyins = PinyinHelper.toHanyuPinyinStringArray(getHanziFirstChar(str));
        if (pinyins != null && pinyins.length > 0) {
            result = pinyins[0];
            if (result != null && result.length() > 0) {
                result = result.substring(0, 1);
            }
        }
        if (TextUtils.isEmpty(result)) {
            return result;
        } else {
            return result.toUpperCase();
        }
    }

}
